// #include <iostream>
// #include <string>
// using namespace std;
//
// class MM {
//     public:
//     // MM()=default;
//     MM(string s="a") {
//         this->m_str = s;
//         cout << this->m_str << endl;
//     }
//     ~MM() {
//         cout <<"析构" << endl;
//         cout << this->m_str << endl;
//     }
// protected:
//     string m_str;
//     private:
// };
// int main() {
//
//     //如果没有无参是不能构建数组的 构造数组就是构造3个无参的对象
//     // MM arr[3];
//     //以后用容器去管理
//     //静态变量最后被释放
//     // 一般对象 构造顺序和析构顺序相反
//     //new 对象 delete 直接调用析构
//
//     {
//         MM object1;
//         MM* project = new MM("B");
//         static MM object("C");
//         delete project;
//         MM arr[3];
//     }
//
//
//
//
//     return 0;
// }